package com.example.lianjuan.Model;

import com.example.lianjuan.Model.domain.Categories;
import com.example.lianjuan.Model.domain.HomePagerCategories;
import com.example.lianjuan.Model.domain.OnSellPager;
import com.example.lianjuan.Model.domain.SearchResult;
import com.example.lianjuan.Model.domain.SelectCategories;
import com.example.lianjuan.Model.domain.SelectContent;
import com.example.lianjuan.Model.domain.TicketParams;
import com.example.lianjuan.Model.domain.TicketResult;

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
import retrofit2.http.Url;

public interface API {
    /**
     * 获取发现页的分类
     *
     * @return
     */
    @GET("discovery/categories")
    Call<Categories> getCategories();

    /**
     * 获取分类内容
     *
     * @param url
     * @return
     */
    @GET
    Call<HomePagerCategories> getPagerCaCategories(@Url String url);

    /**
     * 生成淘口令
     *
     * @param ticketParams
     * @return
     */
    @POST("tpwd")
    Call<TicketResult> getTickerResult(@Body TicketParams ticketParams);

    /**
     * 精选分类
     *
     * @return
     */
    @GET("recommend/categories")
    Call<SelectCategories> getSelectCategories();

    /**
     * 精选内容
     *
     * @param url
     * @return
     */
    @GET
    Call<SelectContent> getSelectContent(@Url String url);

    /**
     * 特惠内容
     *
     * @param url
     * @return
     */
    @GET
    Call<OnSellPager> getOnSellContent(@Url String url);

    /**
     * 未使用
     * 无推荐词,get请求返回无推荐词
     *
     * @return
     */
    @GET("search/recommend")
    Call<String> getRecommend();

    /**
     * 搜索
     *
     * @return
     */
    @GET("search")
    Call<SearchResult> onSearch(@Query("page") int page, @Query("keyword") String keyword);
}
